const AUTH=require('../../utils/auth')
const API=require('../../http/api')

Page({
  data: {
    //默认显示登录授权按钮
    userInfoType:1
  },
  onLoad() {
  
  },
  onShow() {
    //先判断用户是否登录，登录后再获取用户信息
    AUTH.hashCheckedLogined().then(logined=>{

        if(!logined) {
          //先登录，再获取用户信息
          AUTH.autoLoginAndRegister().then(res=>{
              //进入就要读取用户详细信息方法
              this.getUserInfo()
          })
        }else {
          //进入就要读取用户详细信息方法
              
          this.getUserInfo()

        }

    })

   
  },
  //获取用户详细信息方法
  async getUserInfo() {
   //获取token
   const token=wx.getStorageSync('token')
   //调用用户详细信息接口
   const res=await API.getUserDetail(token)

   console.log('用户详细信息：：',res)

   //渲染用户信息的对象
   let _data={}
   _data.userInfo=res.data.base


  //  nick：用户昵称   
  // avataUrl:用户图像地址
   if(res.data.base.nick && res.data.base.avatarUrl) {

      this.setData({
        userInfoType:2
      })
   }else {
    this.setData({
      userInfoType:1
    })
   }


   this.setData(_data)

  },
  //通过微信小程序api打开获取信息信息的弹框
  openUserInfoWindow() {
    const _this=this;
    wx.getUserProfile({
      lang:'zh_CN',
      desc: '授权允许用户获取微信信息',
      success(res) {
        console.log('终于获取到用户信息：',res)
        //调用一个更新方法，将获取的用户信息保存到公司后台数据库
         _this.updateUserInfo(res.userInfo)
      }
    })
  },
  //更新用户信息的方法
  async updateUserInfo(userinfo) {
    //{ city:城市,nick:昵称,province:省份,avatarUrl:头像,gender:性别,token:token }
    
    const {avatarUrl,city,gender,nickName,province}=userinfo
    const token=wx.getStorageSync('token')

    const _data={ 
      city:city,
      nick:nickName,
      province:province,
      avatarUrl:avatarUrl,
      gender:gender,
      token:token
     }

   

    //调用后台用户更新接口更新用户信息
    const res=await API.updateUserInfoApi(_data)

    //再调用获取用户信息方法，重新拉取用户信息
    this.getUserInfo()

  }
})
